.pure-relation-select-wrapper {
    height: var(--pure-relation-select-height, 50vh);
    display: flex;
    flex-direction: column;
    background: var(--pure-relation-select-background, var(--pure-background-element));
    border-radius: var(--pure-relation-select-border-radius);
    position: fixed;
    z-index: var(--pure-overlay-z-index, var(--pure-z-index-upper));
    width: 100%;
    left: 0;
    bottom: var(--pure-relation-select-bottom, 0);
    transition: var(--pure-relation-select-transition, 0.3s);
    transform: translateY(100%);
    box-sizing: border-box;
}

.pure-relation-select-header {
    flex-shrink: 0;
    padding: var(--pure-relation-select-padding, 10px 15px);
    box-sizing: border-box;
    height: var(--pure-relation-select-header-height);
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--pure-relation-select-header-gap, 15px);
}

.pure-relation-select-title {
    flex: 1;
    text-align: var(--pure-relation-select-title-text-align, center);
    font-size: var(--pure-relation-select-title-font-size, var(--pure-font-size-larger));
    color: var(--pure-relation-select-title-color);
    font-weight: var(--pure-relation-select-title-font-weight, 600);
    box-sizing: border-box;
}

.pure-relation-select-close {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: var(--pure-relation-select-close-font-size, var(--pure-font-size-larger));
    font-weight: var(--pure-relation-select-close-font-weight, 600);
    color: var(--pure-relation-select-close-color);
    cursor: pointer;
    background: var(--pure-relation-select-close-background);
    border-radius: var(--pure-relation-select-close-border-radius);
    border: var(--pure-relation-select-close-border);
    width: var(--pure-relation-select-close-width);
    height: var(--pure-relation-select-close-height);
    padding: var(--pure-relation-select-close-padding);
    box-sizing: border-box;
}

.pure-relation-select-body {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.pure-relation-select-tabs {
    flex-shrink: 0;
    overflow: hidden;
    box-sizing: border-box;
    width: var(--pure-relation-select-tabs-width, 8em);
    background: var(--pure-relation-select-tabs-background, var(--pure-background-light));
}

.pure-relation-select-tabs-scroll-view {
    width: 100%;
    height: 100%;
}

.pure-relation-select-tabs-list {
    display: flex;
    flex-direction: column;
    gap: var(--pure-relation-select-tabs-gap);
    word-break: keep-all;
    padding: var(--pure-relation-select-tabs-padding);
}


.pure-relation-select-tab {
    display: var(--pure-relation-select-tab-display, flex);
    flex-direction: var(--pure-relation-select-tab-flex-direction, column);
    align-items: var(--pure-relation-select-tab-align-items, center);
    justify-content: var(--pure-relation-select-tab-justify-content, center);
    padding: var(--pure-relation-select-tab-padding, 12px 15px);
    box-sizing: border-box;
    font-size: var(--pure-relation-select-tab-font-size);
    font-weight: var(--pure-relation-select-tab-font-weight, 500);
    color: var(--pure-relation-select-tab-color);
    position: relative;
    flex-shrink: 0;
}

.pure-relation-select-tab-active {
    background: var(--pure-relation-select-tab-active-background, #ffffff);
    color: var(--pure-relation-select-tab-active-color, var(--pure-theme-primary));
}

.pure-relation-select-tab-sublabel {
    font-size: var(--pure-relation-select-tab-sublabel-font-size, var(--pure-font-size-smaller));
    font-weight: var(--pure-relation-select-tab-sublabel-font-weight);
    color: var(--pure-relation-select-tab-sublabel-color, var(--pure-text-color-regular));
}

.pure-relation-select-tab-active .pure-relation-select-tab-sublabel {
    color: var(--pure-relation-select-tab-active-sublabel-color, var(--pure-theme-primary));
    font-weight: var(--pure-relation-select-tab-active-sublabel-font-weight, var(--pure-relation-select-tab-sublabel-font-weight));
    font-size: var(--pure-relation-select-tab-active-sublabel-font-size, var(--pure-relation-select-tab-sublabel-font-size, var(--pure-font-size-smaller)));
}

.pure-relation-select-swiper {
    flex: 1;
    height: 100%;
}

.pure-relation-select-swiper-item {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.pure-relation-select-options-body {
    flex: 1;
    overflow: hidden;
    height: 100%;
}

.pure-relation-select-scroll-view {
    width: 100%;
    height: 100%;
}

.pure-relation-select-options {
    padding: var(--pure-relation-select-options-padding, 5px 30px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: var(--pure-relation-select-options-gap);
    background: var(--pure-relation-select-options-background);
}

.pure-relation-select-option {
    display: flex;
    flex-direction: row;
    align-items: var(--pure-relation-select-option-align-items, center);
    padding: var(--pure-relation-select-item-padding, 10px 0);
    gap: var(--pure-relation-select-option-gap, 10px);
    background: var(--pure-relation-select-option-background);
    color: var(--pure-relation-select-option-color);
    font-size: var(--pure-relation-select-option-font-size);
    font-weight: var(--pure-relation-select-option-font-weight, 500);
    box-sizing: border-box;
}

.pure-relation-select-option-text {
    flex: 1;
}

.pure-relation-select-option-icon {
    color: var(--pure-relation-select-option-icon-color);
    font-size: var(--pure-relation-select-option-icon-size);
    font-weight: var(--pure-relation-select-option-icon-font-weight);
    flex-shrink: 0;
    opacity: 0;
    transition: 0.2s;
}

.pure-relation-select-option-selected {
    color: var(--pure-relation-select-option-selected-color, var(--pure-theme-primary));
    font-weight: var(--pure-relation-select-option-selected-font-weight, var(--pure-relation-select-option-font-weight, 500));
    font-size: var(--pure-relation-select-option-selected-font-size, var(--pure-relation-select-option-font-size));
    background: var(--pure-relation-select-option-selected-background, var(--pure-relation-select-option-background));
}

.pure-relation-select-option-selected .pure-relation-select-option-icon {
    opacity: 1;
}

.pure-relation-select-footer {
    flex-shrink: 0;
}

.pure-relation-select-footer-btn {
    font-size: var(--pure-relation-select-footer-btn-font-size);
    padding: var(--pure-relation-select-footer-btn-padding, 10px 15px);
    color: var(--pure-relation-select-footer-btn-color);
}

.pure-relation-select-safe-bottom .pure-relation-select-wrapper {
    padding-bottom: env(safe-area-inset-bottom);
}

.pure-relation-select-before-hide .pure-relation-select-wrapper {
    opacity: 1;
    transform: translateY(0);
}

.pure-relation-select-to-hide .pure-relation-select-wrapper {
    opacity: 1;
    transform: translateY(100%);
}

.pure-relation-select-hide .pure-relation-select-wrapper {
    opacity: 0;
    transform: translateY(100%);
}

.pure-relation-select-before-show .pure-relation-select-wrapper {
    opacity: 0;
    transform: translateY(100%);
}

.pure-relation-select-to-show .pure-relation-select-wrapper {
    opacity: 1;
    transform: translateY(0);
}

.pure-relation-select-show .pure-relation-select-wrapper {
    opacity: 1;
    transform: translateY(0);
}
